package com.gccloud.design.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gccloud.design.dto.SdApiDefineDto;
import com.gccloud.design.entity.SdApiDefineEntity;
import com.gccloud.design.vo.SdApiDefineVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author wu.yumin
 * @version 1.0.0
 * @Description API定义DAO
 * @date 2021/6/10 21:02
 */
@Mapper
public interface SdApiDefineDao extends BaseMapper<SdApiDefineEntity> {
    /**
     * 基于API编码查询API定义
     *
     * @param apiCode API编码
     * @return API定义
     */
    SdApiDefineVo getApIByApiCode(String apiCode);

    /**
     * 基于API编码查询API
     *
     * @param apiCode API编码
     * @return 列表
     */
    List<SdApiDefineVo> getApIVersionByApiCode(String apiCode);

    /**
     * 删除表单绑定环节
     *
     * @param bwpId 主键
     * @return 数量
     */
    int deleteRepoByBwpId(String bwpId);

    /**
     * 查询
     *
     * @param dto 查询DTO
     * @return 数量
     */
    int selectApiCount(@Param("dto") SdApiDefineDto dto);

    /**
     * 基于API编码查询版本
     *
     * @param apiCode API编码
     * @return SdApiDefineVo
     */
    SdApiDefineVo getVersionByApiCode(String apiCode);
}
